package com.hongyi.common.mybatis.page;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hongyi.common.framework.constant.HttpStatus;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 分页查询结果实体类
 *
 * @author DingHao
 */

@Data
public class PageData<T> implements Serializable {

    private static final long serialVersionUID = 1L;

    private static final String RESULT = "查询成功";

    /**
     * 总记录数
     */
    private long total;

    /**
     * 列表数据
     */
    private List<T> rows;

    /**
     * 消息状态码
     */
    private int code;

    /**
     * 消息内容
     */
    private String msg;

    /**
     * 构建分页查询结果
     *
     * @param page  分页数据
     */
    public static <T>PageData<T> success(IPage<T> page) {
        PageData<T> pageData = new PageData<>();
        pageData.setTotal(page.getTotal());
        pageData.setRows(page.getRecords());
        pageData.setMsg(RESULT);
        pageData.setCode(HttpStatus.SUCCESS);
        return pageData;

    }

    public static <T> PageData<T> success(List<T> list) {
        PageData<T> pageData = new PageData<>();
        pageData.setCode(HttpStatus.SUCCESS);
        pageData.setMsg("查询成功");
        pageData.setRows(list);
        pageData.setTotal(list.size());
        return pageData;
    }


}
